package com.rykj.qxj.result;
/**
 * @Description:业务异常枚举      
 * @date:   2019年3月21日 下午5:03:13  
 * @author: wangshunyi
 */


public enum ErrType {

	SUCCESS("200", "成功"), 
	APPKEY_IS_NOT_NULL("60100", "接口应用的appKey不能为空,请检查!"), 
	APPLY_IS_NOT_ON("60101", "当前appKey对应的应用还未上线,请检查应用的状态!"), 
	REQUEST_URL_ERROR("60102", "请求url错误!"), 
	API_IS_DISABLE("60103", "请求的接口处于禁用状态!"), 
	API_IS_DELETE("60104", "请求的接口处于删除状态!"),
	APIVERSION_IS_DISABLE("60105", "请求接口版本的状态是禁用状态!"), 
	APIVERSION_IS_NOT_VERIFY_PASS("60106", "请求接口版本未通过审核!"), 
	APIVERSION_IS_DELETE("60107", " 请求接口版本已经删除!"), 
	DATABASESOURCE_IS_NULL("60108", "接口的数据源为空，请检查配置!"), 
	REQUEST_PARAM_IS_NOT_MATCH("60109", "请求参数不匹配,请更正以后再访问!"),
	DO_AUTHENTICATION_FAIL("60110", "认证失败!请检查参数名称或者appKey是否正确!"),
	FILE_API_EXPIRES_OSSSACESSKEYID_SIGNATURE_IS_NULL("60111", "文件接口请求头中的过期时间，权限和签名不能为空!"),
	AppKeyIsNotExist("60111", "文件接口请求头中的过期时间，权限和签名不能为空!"),
	APPKEY_IS_NOT_EXIST("60113","此appKey在系统中没有对应的应用，禁止访问!"),
	READ_REQUESTBODY_CONTENT_FAIL("60114","读取请求体中的内容失败!"),
	APPLY_IS_NOT_CURRENT_APPLY("60115","当前appKey与接口所属应用不一致!"),
	PAGENO_PAGESIZE_IS_NOT_REIGHT("60116","分页信息不合法!"),
	DO_GET_OSSFILE_INPUTSTREAM_FAIL("60112", "获取OSS文件流失败!"),
	SQL_TEMPLATE_FAIL("60117", "sql语句标签化处理失败!"),
	DATA_IS_NULL("60118", "key存在但返回数据为空!"),
	KEY_NO_EXIS("60119", "key不存在!");
	
	private final String code;
	private final String message;

	private ErrType(String code, String message) {
		this.code = code;
		this.message = message;
	}
	public String getCode() {
		return code;
	}

	public String getMessage() {
		return message;
	}

	public static String getMessage(String code) {
		for (ErrType type : values())
			if (type.getCode() == code)
				return type.getMessage();
		return null;
	}

	public static ErrType getByCode(String code) {
		for (ErrType type : values())
			if (type.getCode() == code)
				return type;
		return ErrType.SUCCESS;
	}

}
